package edu.nctu.csie.jichang.dp.creational;

public class Prototype {
	public static void main(String[] args)throws Exception {
		PrototypeClass classA = new PrototypeClass();
		PrototypeClass classB = classA;
		classA.msg = "Prototype A";
		System.out.println(classA.msg + " " +classB.msg);
		classB.msg = "Prototype B";
		System.out.println(classA.msg + " " +classB.msg);
		classA.msg = "Prototype A";
		classB = (PrototypeClass)classA.clone();
		classB.msg = "Prototype B";
		System.out.println(classA.msg + " " +classB.msg);
	}
}
class PrototypeClass implements Cloneable{
	String msg;
	protected Object clone() throws CloneNotSupportedException {
		return super.clone();
	}
}